package com.zenith.user.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.zenith.user.po.domain.Permission;
import com.zenith.user.po.dto.PermissionDTO;
import com.zenith.common.result.PageResult;

import java.util.List;

/**
 * 权限表(TPermission)服务接口
 *
 * @author makejava
 * @since 2025-08-15 21:58:21
 */
public interface PermissionService extends IService<Permission> {

    /**
     * 分页查询权限
     *
     * @param query 查询条件（包含分页参数）
     * @return 分页结果
     */
    PageResult<Permission> getPermissionPage(PermissionDTO query);

    Boolean getPermissionIds(Long userId, String requiredPermission);
    
    /**
     * 根据角色获取权限列表
     *
     * @param role 角色名称
     * @return 权限列表
     */
    List<Permission> selectPermissionsByRole(String role);
}